package com.loie.datacenter.model;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 产品信息
 * </p>
 *
 * @author testjava
 * @since 2025-03-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="ProdInfo对象", description="产品信息")
public class ProdInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "对应mongodb中的_ID")
    @TableId(value = "prod_id", type = IdType.AUTO)
    private String prodId;

    @ApiModelProperty(value = "1. product  产品，2. materiel 物料")
    private String type;

    @ApiModelProperty(value = "公司编号")
    private String comId;

    @ApiModelProperty(value = "公司货号")
    private String prodNo;

    @ApiModelProperty(value = "客户货号")
    private String custPoNo;

    @ApiModelProperty(value = "商品中文名称")
    private String prodName;

    @ApiModelProperty(value = "商品英文名称")
    private String prodNameEn;

    @ApiModelProperty(value = "商品单位")
    private String prodUnit;

    private String unit;

    @ApiModelProperty(value = "商品材质")
    private String prodMaterial;

    @ApiModelProperty(value = "商品材质_英文")
    private String prodMaterialEn;

    @ApiModelProperty(value = "规格")
    private String prodSpec;

    @ApiModelProperty(value = "规格_英文")
    private String prodSpecEn;

    @ApiModelProperty(value = "商品分类")
    private String prodSort;

    @ApiModelProperty(value = "品牌ID")
    private String brandId;

    @ApiModelProperty(value = "商品二维码url")
    private String prodQrcode;

    @ApiModelProperty(value = "商品条形码")
    private String prodBarcode;

    @ApiModelProperty(value = "其他尺寸")
    private String otherSize;

    @ApiModelProperty(value = "产品工艺")
    private String process;

    @ApiModelProperty(value = "后加工工艺")
    private String postProc;

    @ApiModelProperty(value = "FOB价格，前端展示该值，来自自动计算或fob_price_manual字段")
    private BigDecimal fobPrice;

    @ApiModelProperty(value = "预估成本价")
    private BigDecimal estimatePrice;

    @ApiModelProperty(value = "预估成本价的币种")
    private String estimatePriceCurrency;

    @ApiModelProperty(value = "起订量")
    private Integer moq;

    @ApiModelProperty(value = "商品主图片")
    private String mainPic;

    @ApiModelProperty(value = "销售包装")
    private String salePkg;

    @ApiModelProperty(value = "销售包装英文")
    private String salePkgEn;

    @ApiModelProperty(value = "供应商ID")
    private String supplierId;

    @ApiModelProperty(value = "工厂货号")
    private String supplierNo;

    @ApiModelProperty(value = "商品净重")
    private BigDecimal netWeight;

    @ApiModelProperty(value = "商品净重单位，默认为克")
    private String netWeightUnit;

    @ApiModelProperty(value = "海关编码")
    private String hsCode;

    @ApiModelProperty(value = "报关中文名")
    private String declName;

    @ApiModelProperty(value = "报关英文名")
    private String declNameEn;

    @ApiModelProperty(value = "申报要素")
    private String declFactor;

    @ApiModelProperty(value = "退税率(%)")
    private String declRebate;

    @ApiModelProperty(value = "供应商备注")
    private String summary;

    @ApiModelProperty(value = "毛利率")
    private BigDecimal grossRate;

    @ApiModelProperty(value = "采购价")
    private BigDecimal puPrice;

    @ApiModelProperty(value = "采购数量")
    private Integer puQuantity;

    @ApiModelProperty(value = "采购单位")
    private String purchaseUnit;

    @ApiModelProperty(value = "创建者ID")
    private String createUser;

    @ApiModelProperty(value = "创建时间")
    private Date createDate;

    @ApiModelProperty(value = "最后修改人")
    private String updateUser;

    private Date updateDate;

    @ApiModelProperty(value = "状态 normal delete reasearch(研发状态)")
    private String status;

    @ApiModelProperty(value = "老系统割接id")
    private String cutId;

    @ApiModelProperty(value = "商城优先级0未上架1优先级最低100优先级最高")
    private Integer mallPriority;

    private String ownerId;

    @ApiModelProperty(value = "原货号")
    private String originalProdNo;

    @ApiModelProperty(value = "模糊查询值")
    private String fuzzyValue;

    @ApiModelProperty(value = "起运港")
    private String loadPort;

    @ApiModelProperty(value = "销售币种")
    private String currency;

    @ApiModelProperty(value = "采购币种")
    private String puCurrency;

    @ApiModelProperty(value = "是否入仓价")
    private String atStock;

    @ApiModelProperty(value = "交货期天数")
    private String deliveryDay;

    @ApiModelProperty(value = "整箱cbm")
    private String pkgCbm;

    @ApiModelProperty(value = "整箱含量")
    private String pkgQuantity;

    @ApiModelProperty(value = "默认等于prod_id")
    private String relaId;

    @ApiModelProperty(value = "1.  company 公司  2.  customer 客户 3. supplier    工厂")
    private String sourceType;

    @ApiModelProperty(value = "业务组ID")
    private String busiGroupId;

    private String legalId;

    @ApiModelProperty(value = "是否可销售:yes/no")
    private String isSell;

    @ApiModelProperty(value = "是否可采购:yes/no")
    private String isBuy;

    @ApiModelProperty(value = "是否劳务:yes/no")
    private String isService;

    @ApiModelProperty(value = "是否有bom:yes/no")
    private String isBom;

    @ApiModelProperty(value = "内销价格")
    private BigDecimal snPrice;

    @ApiModelProperty(value = "内销币种")
    private String snCurrency;

    @ApiModelProperty(value = "是否子健:yes/no")
    private String isSubProd;

    @ApiModelProperty(value = "增值税率:yes/no")
    private BigDecimal vat;

    @ApiModelProperty(value = "卖点")
    private String sellingPoint;

    @ApiModelProperty(value = "卖点")
    private String sellingPointEn;

    @ApiModelProperty(value = "字段暂时不用")
    private String custProdNo;

    @ApiModelProperty(value = "上架状态,1. normal 上架,2.stop 已下架")
    private String shopStatus;

    private String model;

    @ApiModelProperty(value = "官网价格显示规则，1.fob 按fob价格,2.cust_level 按FOB+客户分级,3.qty_grade 按FOB+数量分级")
    private String priceRule;

    @ApiModelProperty(value = "1. normal,所有客户可见，游客可见， 2.login 所有客户登录后可见，游客不可见，3. cust  指定客户登录可见，游客不可见，4 country 指定国家的客户可见，游客可见。")
    private String prodSee;

    @ApiModelProperty(value = "1. yes,已配置已销， 2.no 未配置")
    private String prodSell;

    @ApiModelProperty(value = "是否有配件，yes/no")
    private String isSpare;

    @ApiModelProperty(value = "爆炸图号")
    private String explodedNo;

    private String prodType;

    private String prodLevel;

    @ApiModelProperty(value = "原产国，存储country_id，产品档案上下拉列表选择国家")
    private String origin;

    @ApiModelProperty(value = "退税率")
    private BigDecimal rebateRate;

    @ApiModelProperty(value = "系列ID")
    private String seriesId;

    private String rdProdId;

    private String ctnUnit;

    private String chinaVatId;

    @ApiModelProperty(value = "颜色中文")
    private String prodColor;

    @ApiModelProperty(value = "颜色英文")
    private String prodColorEn;

    @ApiModelProperty(value = "是否套件，yes/no")
    private String isKits;

    @ApiModelProperty(value = "审核状态(normal;auditing;pass;reject)")
    private String auditStatus;

    @ApiModelProperty(value = "首次生效时间")
    private Date validDate;

    @ApiModelProperty(value = "审批生效时间")
    private Date doneDate;

    @ApiModelProperty(value = "工厂促销价")
    private BigDecimal disPuPrice;


}
